##元组
#定义：
#列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的
#这对处理网站的用户列表或游戏中的角色列表至关重要。然而，有时候你需要创建
#一系列不可修改的元素，元组可以满足这种需求
#Python将不能修改的值称为不可变的，而不可变的列表被称为元组

#元组看起来犹如列表，但使用圆括号而不是方括号来标识
#定义元组后，就可以使用索引来访问其元素，就像访问列表元素一样

#example1

dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])

#example2:错误代码示例
#修改第一个元素的值，导致Python返回类型错误消息
#由于试图修改元组的操作是被禁止的，因此Python指出不能给元组的元素赋值
'''
dimensions = (200, 50)
dimensions[0] = 250
'''
#代码试图修改矩形的尺寸时，Python报告错误，这很好，因为这正是我们希望的


##遍历元组中的所有值
#像列表一样，也可以使用for循环来遍历元组中的所有值

dimensions = (200, 50)
for dimension in dimensions:
	print(dimension)


##修改元组变量
#虽然不能修改元组的元素，但可以给存储元组的变量赋值
#如果要修改前述矩形的尺寸，可重新定义整个元组
dimensions = (200, 50)
print("Original dimensions:")
for dimension in dimensions:
	print(dimension)

dimensions = (400, 100)
print("\nModified dimensions:")
for dimension in dimensions:
	print(dimension)
#首先定义了一个元组，并将其存储的尺寸打印了出来
#接下来，将一个新元组存储到变量dimensions中
#然后，打印新的尺寸。这次，Python不会报告任何错误，因为给元组变量赋值是合法的
#相比于列表，元组是更简单的数据结构
#如果需要存储的一组值在程序的整个生命周期内都不变，可使用元组
